package com.freshman_registration.mapper;

import com.freshman_registration.pojo.PaymentItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface PaymentItemMapper {
    /*
     * 添加缴费项目
     * 并且初始化缴费记录表
     * @param paymentItem
     * @return
     * */
    int addPaymentItem(PaymentItem item);


    /*
     * 获取所有缴费项目
     * @return
     * */
    List<PaymentItem> getAllItemsByPage(@Param("startIndex") int startIndex, @Param("pageSize") int pageSize);
    int getItemsTotalCount();
    /*
     * 获取所有有效缴费项目
     * @return
     * */
    List<PaymentItem> getActiveItems();
    /*
     * 获取缴费项目详情
     * @param id
     * @return
     * */
    PaymentItem getById(Integer id);
    PaymentItem getPaymentItemById(Integer id);


    // 分页模糊查询
    List<PaymentItem> searchItemsByName(@Param("params") Map<String, Object> params);
    // 统计总数
    int countItemsByName(@Param("itemName") String itemName);
    /*
     * 更新缴费项目
     * @param paymentItem
     * @return
     */
    int updatePaymentItem(PaymentItem paymentItem);
    /*
     * 删除缴费项目
     * @param id
     * @return
     */
    int deletePaymentItem(Integer id);
}